A lot of optimization problems which arise from real life situations and requirements. Many of these problems are NP-hard problems, but for specific uses may be reduced to and may be solved by specific solvers, for example the problems may be reduced to Mixed Integer Linear problems, which may be solved efficiently using a corresponding solver, such as Mixed-integer linear programming (MILP) solver.
In many cases these problems are NP-hard, but can be tuned or simplified for certain use cases and solved efficiently by MILP solvers. Typically, optimization experts create models dedicated to a specific use case, wherein the obtained model may then be solved by a solver such as a MILP solver.
Creating an optimization model is a time consuming and expensive process, especially in the case of a complex and large scale problem, and keeps rising when changes are introduced to the optimization problem, for example adding new types of tasks. Modifying a model may require further programming, testing, and redeployment.
The scale, complexity and variability of these problems make it almost impossible to create an all-in-one universal model of given problem which solves all cases. Then, the common practice is to apply decomposition methods and solve a separate model for each case.